The present invention relates to data storage systems. More particularly, the present invention relates to emulation of data storage systems.
Due to such factors as advances in technology, reductions in computer hardware costs and growth of the World Wide Web, increasing quantities of digital data are being generated worldwide. For example, computer systems in businesses, government and homes are used to generate data in the form of text and other documents, databases, multi-media files, e-mail correspondence, web pages, transaction records, and so forth. As a result, data storage demands are enormous and are growing over time.
Driven by this increasing demand, data storage systems are becoming larger and more complex. For example, a modern data center may include tens of large arrays and thousands of logical volumes and file systems. Such a data center may serve the storage demands of a large organization or even multiple organizations.
Increasingly, organizations outsource their data storage and management needs to a storage service provider (SSP). The SSP allocates storage on its own disk arrays that it makes available to its customers. While an organization may serve its storage needs internally, by purchasing equipment and hiring appropriate personnel, the organization may also internally follow an SSP model for providing storage services to its separate divisions.
A prospective customer of an SSP who wishes to outsource its data storage needs may be familiar with a particular make and model of a storage device. Accordingly, the customer may wish to specify that the SSP provide such a device for the customer's storage needs. Dedicating a specified device to the customer can be expensive, however, especially where the SSP does not already have such a device available. This can also be inflexible since any future changes in the customer's requirements may necessitate physical reconfiguration of the hardware or possibly the purchase of additional hardware. Such a solution may also result in a proliferation of device types, complicating management of them by the SSP.
Where an SSP does not provide dedicated storage devices to each customer, delivering performance desired by each customer can be difficult because each presents an independent load to the SSP that competes for storage resources, such as cache space, disk, bus, and network bandwidth and process cycles of a storage controller.
Therefore, what is needed is an ability to specify the service level that a workload will receive from a storage system in terms known storage devices. What is further needed is an ability for such a storage system to handle multiple independent workloads. It is to these ends that the present invention is directed.